GIS · Forest Inventory · Conservation Planning · British Columbia

Old Growth Forest Assessment on Vancouver Island

Cartographic Modelling · VRI 2024 · PostGIS · ArcGIS Pro
Joselyne MPAYIMANA  |  University of British Columbia  |  October 2025
ArcGIS Pro PostGIS SQL Python VRI 2024 BEC Zones Old Growth Cartographic Modelling

Overview

Old growth forests are among BC's most ecologically significant and contested ecosystems. On Vancouver Island, these forests have been at the centre of intense debate between logging interests, First Nations, and conservation advocates, coming to a head during the Fairy Creek blockades of 2020 to 2022. At the heart of the controversy is a fundamental question: how much old growth remains, and where does it fall short of the provincial targets set to protect it?

This project uses the BC Vegetation Resources Inventory (VRI 2024) to assess how well current old growth retention across Vancouver Island's crown forests meets provincial high threshold targets, broken down by Landscape Unit and Biogeoclimatic Ecosystem Classification (BEC) subzone. I queried the VRI data directly from a PostgreSQL server using SQL, classified each polygon into seral stages using a custom Python expression in ArcGIS Pro, and produced a cartographic output showing where targets are met, exceeded, or falling short across 260 landscape units.

260
Landscape Unit / BEC subzone combinations analysed
80
Units exceeding the provincial high threshold
155
Units falling below the provincial high threshold
VRI 2024
Most recent BC forest inventory dataset

Data Sources

LayerDescriptionSource
VRI 2024Forest Vegetation Composite Layer 1BC Data Catalogue
Generalized Forest Cover OwnershipCrown vs private land classificationBC Data Catalogue
CEF Human Disturbance (current)Roads, cutblocks, urban and agricultural clearingBC Data Catalogue
Landscape Units (current)Provincial land management unitsBC Data Catalogue

Workflow

The VRI assigns each forest polygon a projected age and a BEC subzone code. Old growth is defined not simply by age but by the structural and biological complexity that develops over long periods without substantial disturbance, including multiple canopy layers, large living and dead trees, and diverse plant communities. A stand-age definition alone can miss critical features such as snags, downed woody debris, and specialized habitats for old-growth-dependent species. For this analysis, seral stage thresholds were defined by BEC subzone to reflect the different rates at which forests in wetter versus drier zones develop old growth characteristics.

Step 1

Queried the VRI table on the UBC PostgreSQL server using SQL to extract managed forest polygons (for_mgmt_land_base_ind = 'Y') with BEC zone, subzone, and projected age attributes.

Step 2

Selected crown land polygons using a LIKE 'Crown%' SQL filter and intersected with the forest land base to isolate publicly managed forests subject to provincial old growth targets.

Step 3

Classified each polygon into Early, Mid, Mature, or Old seral stages using a custom Python function in the ArcGIS Pro Field Calculator, with age thresholds varying by BEC subzone.

Step 4

Reset seral stage to Early in areas overlapping current human disturbances from the CEF Human Disturbance layer, accounting for cutblocks, roads, and urban clearing.

Step 5

Intersected Crown Forest with Landscape Units and dissolved by LU-BEC key to calculate total forest area and old growth area per unit.

Step 6

Computed percent old growth per unit and applied a Python expression to calculate the difference from the provincial high threshold for each BEC subzone.

Python Expression for DiffFromHigh

This function computes how far each landscape unit sits above or below the provincial high threshold for its BEC subzone. A positive value means the unit exceeds the target; a negative value means it falls short. The thresholds differ by subzone to reflect the varying ecological conditions across Vancouver Island's forests.

ArcGIS Pro Field Calculator — Python expression
def diff_from_high(LU_BEC, PercentOld):
    if LU_BEC is None or PercentOld is None:
        return None
    LU_BEC = LU_BEC[5:]   # isolate the BEC subzone code
    if LU_BEC == 'CDFmm':
        HighThreshold = 13
    elif LU_BEC == 'CWHmm':
        HighThreshold = 13
    elif LU_BEC == 'CWHvh':
        HighThreshold = 19
    elif LU_BEC == 'CWHvm':
        HighThreshold = 19
    elif LU_BEC == 'CWHxm':
        HighThreshold = 13
    elif LU_BEC == 'MHmm':
        HighThreshold = 28
    else:
        return 0
    return round(PercentOld - HighThreshold, 2)

Map

The map below shows DiffFromHigh across all crown forest landscape units on Vancouver Island. Dark green units exceed the provincial high threshold; yellow units fall below it; brown units meet it exactly.

Old Growth Map Vancouver Island
Figure 1. Difference from Provincial Old Growth High Threshold by Landscape Unit and BEC Subzone, Vancouver Island (October 2025). Dark green units exceed provincial targets; yellow units fall short; brown units meet the target exactly. Data: BC VRI 2024, Landscape Units, CEF Human Disturbance. Projection: NAD83(CSRS) Canada Atlas Lambert (EPSG:3979).

Key Findings

Of the 260 Landscape Unit and BEC subzone combinations analysed, 80 exceed the provincial high threshold and 155 fall below it. The spatial pattern is striking: old growth targets are largely met or exceeded in the northern, western, central, and higher-elevation regions of the island, while the eastern and southern lowlands show predominantly negative values.

The units exceeding targets are concentrated in the CWHvh, CWHvm, and MHmm subzones, which are the wetter, more remote, higher-elevation forests of the island's interior and northwest coast. Their remoteness and reduced accessibility have shielded them from the logging pressure that has affected more accessible areas. Units that meet the target exactly are rare, appearing mainly in isolated patches in the north and centre of the island where forest growth conditions are marginal.

The deficit is most severe in the eastern and southern lowlands, dominated by CDFmm and CWHxm subzones. These are the most productive and historically most accessible forests on the island, and decades of logging and land conversion have reduced old growth cover well below what provincial targets require. The pattern reveals a strong divide between productive lowlands that underperform on retention and remote mountainous or coastal regions that exceed targets, highlighting the combined impact of human activity and ecological variability on forest structure across Vancouver Island.

Data Quality and Limitations

The VRI is updated periodically rather than continuously, which means some areas may not reflect recent disturbance events. Polygon boundaries can be imprecise where source imagery resolution is low, and small patches of old growth may be missed or merged with younger stands. Ground sampling density is not always sufficient to capture full structural variability within heterogeneous forest stands. The choice of scale and resolution also matters significantly: at coarser resolution, old growth patches can appear larger or more continuous than they are in reality, which can affect whether the assessment supports defensible conservation or management decisions.

Looking beyond stand age to structural complexity would strengthen any future assessment. The Crown Forest ownership layer, the CEF Human Disturbance layer, and topographic context from the Landscape Units layer each add meaningful depth by linking old growth distribution to land tenure, disturbance history, and ecological setting. Together they help explain not just where old growth remains but why it persists where it does and where recovery is most urgently needed.


Results Table

The table below shows total crown forest area, estimated old growth area, percentage old growth, and difference from the provincial high threshold for all 260 Landscape Unit and BEC subzone combinations on Vancouver Island. Click any column header to sort, or use the search and filter controls to explore specific units.

Exceeds target (DiffFromHigh > 0)
Below target (DiffFromHigh < 0)
At target (DiffFromHigh = 0)
LU-BEC BEC Subzone Total Area (ha) Old Growth Area (ha) % Old Growth Diff from High Threshold

Joselyne MPAYIMANA  |  Master of Geomatics for Environmental Management, UBC  |  2025